//
//  engine.h
//  bird
//
//  Created by Xiaochen Lian on 5/5/12.
//  Copyright (c) 2012 University of California, Los Angeles. All rights reserved.
//

#ifndef engine_h
#define engine_h

#include "common.h"
#include "body.h"
#include "limb.h"
#include "feather.h"

class CEngine
{
private:
    GLuint program;
    CBody *body;
    // shader
    // camera
    //camera_struct camera;
    //GLfloat fovy, aspect, zNear, zFar;
    // environment
    //point4 light_pos;
    vec4 eye, ref, up;
    GLdouble phi, phi_step;

public:
    CEngine( /*GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar*/);
    void init();
    void build_scene();
    void display();
    void update(GLfloat time_elapsed);
};

#endif
